/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain;

import com.anwen.mongo.annotation.ID;
import com.anwen.mongo.annotation.collection.CollectionField;
import com.anwen.mongo.annotation.collection.CollectionName;
import com.comac.ins.common.tenant.core.TenantEntity;
import com.comac.ins.isfd.constant.MongoDataConstant;
import com.comac.ins.isfd.util.bdfparser.entities.comparator.BDFCompareResult;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;


/**
 * 自然网格模型对比结果实体类
 *
 * @author lj
 * @date 2025-01-13
 */
@Data
@CollectionName(value = MongoDataConstant.MESH_COMPARE_RESULT_TABLE_NAME)
public class IsfdMeshCompareResult {

    /**
     * _id
     */
    @ID
    private String _id;

    /**
     * 对比类型
     */
    @CollectionField("type")
    @NotBlank(message = "type不能为空!")
    private String type;

    /**
     * 对比文件
     */
    @CollectionField("compared_object")
    @NotNull(message = "comparedObject不能为空!")
    private IsfdMeshCompareObject comparedObject;

    /**
     * 参照文件
     */
    @CollectionField("referenced_object")
    @NotNull(message = "referencedObject不能为空!")
    private IsfdMeshCompareObject referencedObject;

    /**
     * 对比结果
     */
    @CollectionField("compare_result")
    @NotNull(message = "compareResult不能为空!")
    private BDFCompareResult compareResult;

    /**
     * 对比结果文件地址
     */
    @CollectionField("compare_result_file_url")
    private String compareResultFileUrl;

    /**
     * 对比结果原始文件地址
     */
    @CollectionField("compare_result_original_file_url")
    private String compareResultOriginalFileUrl;
}
